@REM ----------------------------------------------------------------------------
@REM 参考文献：
@REM https://runnable.run/archives/shou-ba-shou-jiang-ni-de-javamaven-xiang-mu-tong-guo-graalvm-da-bao-cheng-windows-ke-zhi-xing-cheng-xu
@REM http://lihuaxi.xjx100.cn/news/173687.html?action=onClick
@REM https://runnable.run/archives/shou-ba-shou-jiang-ni-de-javamaven-xiang-mu-tong-guo-graalvm-da-bao-cheng-windows-ke-zhi-xing-cheng-xu
@REM Spring Native 0.10.0 新特性 https://www.cnblogs.com/javastack/archive/2021/06/20/14906826.html
@REM springboot和springcloud版本对应  https://blog.csdn.net/SOOOOOF/article/details/124829864
@REM spring-native使用说明 https://docs.spring.io/spring-native/docs/0.10.0/reference/htmlsingle/#_build_the_native_application


@REM ----------------------------------------------------------------------------
@REM 版本对应：
@REM Spring Boot 2.4.3  Spring Native 0.9.0
@REM Spring Boot 2.4.4  Spring Native 0.9.1
@REM Spring Boot 2.4.5  Spring Native 0.9.2
@REM Spring Boot 2.5.1  Spring Native 0.10.0  GraalVM 21.1
@REM Spring Boot 2.7.1  Spring Native 0.12.1  GraalVM 22.1
@REM Spring Boot 3.0.5  native-maven-plugin 0.9.20  GraalVM 22.1



@REM ----------------------------------------------------------------------------
@REM 安装GraalVM JDK, 内部已包含openJDK,此处用的java 17版本
@REM 注意：spring boot3需要GraalVM 22.3以上的版本支持
@REM 下载地址：https://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-22.3.1
@REM 验证安装：java -version
@REM 控制台输出：OpenJDK Runtime Environment GraalVM CE 22.3.1

@REM ----------------------------------------------------------------------------
@REM 安装Native Image，可将Java代码提前编译为独立可执行文件
@REM 离线安装
@REM 下载地址：https://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-22.3.1
@REM gu -L install native-image-xxx-22.3.1.jar

@REM 在线安装(推荐)
@REM gu install native-image
@REM 验证安装： gu list
@REM 控制台输出：native-image 22.3.1

@REM ----------------------------------------------------------------------------
@REM 安装Visual studio，将代码打包为exe可执行文件必不可少的组件
@REM 下载地址：https://visualstudio.microsoft.com/zh-hans/downloads/
@REM 安装时需要勾选 Visual c++生成工具（必选项），Window10 SDK (可选项)
@REM 注意：native-image只支持64位程序，应使用Hostx64/x64/cl.exe，cl.exe加入环境变量无效，后面会有解决办法。
@REM 验证安装：cl.exe
@REM 控制台输出：用于 x64 的 Microsoft (R) C/C++ 优化编译器

@REM ----------------------------------------------------------------------------
@REM 安装Maven，需要安装3.6.x+版本的maven,或者使用创建springboot3.0时自带的mvnw
@REM 也可以修改mvnw的maven版本：./mvnw io.takari:maven:wrapper -Dmaven=3.6.3
@REM 验证安装：mvn -v  或者  mvnw -v
@REM 控制台输出：Apache Maven 3.6.3


@REM ----------------------------------------------------------------------------
@REM 指定JDK
@REM set JAVA_HOME=D:\installation\graalvm-ce-java17-22.3.1

@REM 解决错误 Error: Default native-compiler executable 'cl.exe' not found via environment variable PATH
@REM 解决错误 找不到cl.exe、找不到***.h、找不到***.lib
@call "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars64.bat"

@REM 解决maven版本与IDEA不兼容的问题，解决maven版本与springboot不匹配的问题
@REM Caused by: java.lang.ClassNotFoundException: org.eclipse.aether.resolution.DependencyResolutionException
@REM 编译构建：mvn clean compile spring-aot:generate -Pnative
mvnw.cmd clean package -Pnative